// 引入所有动态路由配置对象组成的数组
<<<<<<< HEAD
import { constantRoutes, asyncRoutes } from '@/router'
const state = {
  routes: []
}
// 维护用来生成菜单的路由配置,需要静态路由跟有权限的动态路由进行合并
const mutations = {
  setRoutes(state, routes) {
    state.routes = [
      ...constantRoutes,
      ...routes
    ]
  }
}
=======
import { asyncRoutes } from '@/router'
const state = {}
const mutations = {}
>>>>>>> 1dad7006d7db798b28e64987fab3bb636bae5cf3
const actions = {
  filterRoutes(store, menus) {
    console.log('开始筛选路由了')
    // 这里可以筛选路由了
    // 1、所有路由的列表
    // 2、当前用户权限数组
    // 如果路由存在.就留下,否则排除
    // asyncRoutes.filter(item => menus.indexOf(item.name !== -1))
    // filter可以遍历数组中的每个对象,作为item
    // 回调函数返回true 则当前item会保留
    // menus=当前拥有的权限数组
    const routes = asyncRoutes.filter(item => {
      // 这是个过滤函数，每个元素都会执行，返回true的元素可以留下
      // 判断路由名是否存在menus存在 没返回-1就代表存在
      // 返回menus跟item.name相同的数
      return menus.indexOf(item.name) !== -1
    })
    // 可以拿他恢复权限
<<<<<<< HEAD
    // 如果想要维护一个菜单使用的路由配置,
    // 只需要将这些有权限的动态路由加上原来默认就要出现的静态路由即可
    console.log('筛选出来权限routes17', routes)
    store.commit('setRoutes', routes)
    // 返回给外部使用
    return routes
=======
    console.log('筛选出来权限routes17', routes)
>>>>>>> 1dad7006d7db798b28e64987fab3bb636bae5cf3
  }
}

export default {
  // 命名空间
  namespaced: true,
  state,
  mutations,
  actions
}
